/**
 * 一个带头结点的单链表中所有元素结点的数值域无序，编写一个函数，
 * 删除表中介于给定的两个值（作为函数参数给出）之间元素的元素
 * 
 * */

void Delete_Range(LinkedList& L, int min, int max)
{
	LNode* p = L->next;		//p为遍历指针
	LNode* pre = L;			//pre为比遍历指针的前驱指针
	while(p) {
		if(p->data > min && p->data < max) {	//找到待删除结点
			pre->next = p->next;
			free(p);
			p = pre->next;
		} else {			//否则继续找被删除结点
			pre = p;		//pre指针向后移
			p = p->next;	//p指针向后移
		}
	}
}